package com.yanqu.road.logic.bussiness.activity;

import com.yanqu.road.entity.activity.jiuzhou.*;
import com.yanqu.road.entity.activity.jiuzhou.config.JiuZhouRoundConfig;
import com.yanqu.road.entity.activity.jiuzhou.config.JiuZhouSkillConfig;
import com.yanqu.road.entity.activity.jiuzhou.game.CrossJiuZhouGameRoundRecordData;
import com.yanqu.road.entity.activity.jiuzhou.guess.CrossJiuZhouGuessData;
import com.yanqu.road.entity.activity.jiuzhou.guess.CrossJiuZhouUserGuessData;
import com.yanqu.road.entity.activity.jiuzhou.rank.JiuZhouRank;
import com.yanqu.road.entity.activity.jiuzhou.round.CrossJiuZhouRoundData;
import com.yanqu.road.logic.bussiness.DaoHelper;

import java.math.BigInteger;
import java.util.List;
import java.util.Map;

public class JiuZhouBussiness {

    public static Map<Integer, JiuZhouRoundConfig> getJiuZhouRoundConfigMap(int activityId) {
        return DaoHelper.getJiuZhouConfigDaoImpl().getJiuZhouRoundConfigMap(activityId);
    }

    public static Map<Integer, JiuZhouSkillConfig> getJiuZhouSkillConfigMap(int activityId) {
        return DaoHelper.getJiuZhouConfigDaoImpl().getJiuZhouSkillConfigMap(activityId);
    }

    public static Map<Long, BigInteger> getCanSignUserAbility(int levelLimit, int patronsLimit){
        return DaoHelper.getJiuZhouAbilityDaoImpl().getCanSignUserAbilityList(levelLimit,patronsLimit);
    }

    public static Map<Long, CrossJiuZhouUserGuessData> getCrossJiuZhouUserGuessMapData(int activityId){
        return DaoHelper.getJiuZhouGuessDataDaoImpl().getCrossJiuZhouUserGuessMapData(activityId);
    }

    public static boolean addCrossJiuZhouUserGuessData(CrossJiuZhouUserGuessData crossJiuZhouUserGuessData){
        return DaoHelper.getJiuZhouGuessDataDaoImpl().add(crossJiuZhouUserGuessData);
    }

    public static boolean updateCrossJiuZhouUserGuessData(CrossJiuZhouUserGuessData crossJiuZhouUserGuessData){
        return DaoHelper.getJiuZhouGuessDataDaoImpl().update(crossJiuZhouUserGuessData);
    }

    public static Map<Integer,CrossJiuZhouGuessData> getCrossJiuZhouGuessDataMap(int activityId){
        return DaoHelper.getJiuZhouRoundGuessDataDaoImpl().getCrossJiuZhouGuessMapData(activityId);
    }

    public static boolean addCrossJiuZhouGuessData(CrossJiuZhouGuessData crossJiuZhouGuessData){
        return DaoHelper.getJiuZhouRoundGuessDataDaoImpl().add(crossJiuZhouGuessData);
    }

    public static boolean updateCrossJiuZhouGuessData(CrossJiuZhouGuessData crossJiuZhouGuessData){
        return DaoHelper.getJiuZhouRoundGuessDataDaoImpl().update(crossJiuZhouGuessData);
    }

    public static JiuZhouUserBaseData getJiuZhouUserBaseData(int activityId, long userId){
        return DaoHelper.getJiuZhouUserBaseDataDaoImpl().getJiuZhouUserBaseData(activityId,userId);
    }

    public static boolean addJiuZhouUserBaseData(JiuZhouUserBaseData jiuZhouUserBaseData){
        return DaoHelper.getJiuZhouUserBaseDataDaoImpl().add(jiuZhouUserBaseData);
    }

    public static boolean updateJiuZhouUserBaseData(JiuZhouUserBaseData jiuZhouUserBaseData){
        return DaoHelper.getJiuZhouUserBaseDataDaoImpl().update(jiuZhouUserBaseData);
    }

    public static Map<Integer, CrossJiuZhouRoundData> getCrossJiuZhouRoundDataMap(int activityId){
        return DaoHelper.getJiuZhouRoundDataDaoImpl().getCrossJiuZhouRoundDataMap(activityId);
    }

    public static boolean addCrossJiuZhouRoundData(CrossJiuZhouRoundData crossJiuZhouRoundData){
        return DaoHelper.getJiuZhouRoundDataDaoImpl().add(crossJiuZhouRoundData);
    }

    public static boolean updateCrossJiuZhouRoundData(CrossJiuZhouRoundData crossJiuZhouRoundData){
        return DaoHelper.getJiuZhouRoundDataDaoImpl().update(crossJiuZhouRoundData);
    }

    public static Map<Long, CrossJiuZhouUserData> getCrossJiuZhouUserDataMap(int activityId) {
        return DaoHelper.getCrossJiuZhouUserDataDaoImpl().getCrossJiuZhouUserDataMap(activityId);
    }

    public static boolean addCrossJiuZhouUserData(CrossJiuZhouUserData data) {
        return DaoHelper.getCrossJiuZhouUserDataDaoImpl().add(data);
    }

    public static boolean updateCrossJiuZhouUserData(CrossJiuZhouUserData data) {
        return DaoHelper.getCrossJiuZhouUserDataDaoImpl().update(data);
    }

    public static Map<Integer, Map<Long, List<CrossJiuZhouDeployData>>> getCrossJiuZhouDeployDataMap(int activityId) {
        return DaoHelper.getCrossJiuZhouDeployDataDaoImpl().getCrossJiuZhouDeployDataMap(activityId);
    }

    public static boolean addCrossJiuZhouDeployData(CrossJiuZhouDeployData crossJiuZhouDeployData) {
        return DaoHelper.getCrossJiuZhouDeployDataDaoImpl().add(crossJiuZhouDeployData);
    }

    public static boolean updateCrossJiuZhouDeployData(CrossJiuZhouDeployData crossJiuZhouDeployData) {
        return DaoHelper.getCrossJiuZhouDeployDataDaoImpl().update(crossJiuZhouDeployData);
    }

    public static Map<Integer, CrossJiuZhouRoomData> getCrossJiuZhouRoomDataMap(int activityId) {
        return DaoHelper.getCrossJiuZhouRoomDataDaoImpl().getCrossJiuZhouRoomDataMap(activityId);
    }

    public static boolean addCrossJiuZhouRoomData(CrossJiuZhouRoomData crossJiuZhouRoomData) {
        return DaoHelper.getCrossJiuZhouRoomDataDaoImpl().add(crossJiuZhouRoomData);
    }

    public static boolean updateCrossJiuZhouRoomData(CrossJiuZhouRoomData crossJiuZhouRoomData) {
        return DaoHelper.getCrossJiuZhouRoomDataDaoImpl().update(crossJiuZhouRoomData);
    }

    public static Map<Integer, List<CrossJiuZhouGameRoundRecordData>> getCrossJiuZhouGameRoundRecordDataMap(int activityId) {
        return DaoHelper.getCrossJiuZhouGameRoundRecordDataDaoImpl().getCrossJiuZhouGameRoundRecordDataMap(activityId);
    }

    public static boolean addCrossJiuZhouGameRoundRecordData(CrossJiuZhouGameRoundRecordData crossJiuZhouGameRoundRecordData) {
        return DaoHelper.getCrossJiuZhouGameRoundRecordDataDaoImpl().add(crossJiuZhouGameRoundRecordData);
    }



    public static List<JiuZhouRank> getJiuZhouRankList(int activityId) {
        return DaoHelper.getJiuZhouRankDaoImpl().getJiuZhouRank(activityId);
    }

    public static boolean addJiuZhouRank(JiuZhouRank jiuZhouRank) {
        return DaoHelper.getJiuZhouRankDaoImpl().add(jiuZhouRank);
    }

    public static boolean updateJiuZhouRank(JiuZhouRank jiuZhouRank) {
        return DaoHelper.getJiuZhouRankDaoImpl().update(jiuZhouRank);
    }

    public static Map<Integer, JiuZhouActivityChampionData> getJiuZhouActivityChampionMapData(){
        return DaoHelper.getJiuZhouChampionDataImpl().getJiuZhouActivityChampionMapData();
    }

    public static JiuZhouActivityChampionData getJiuZhouActivityChampionData(int activityId){
        return DaoHelper.getJiuZhouChampionDataImpl().getJiuZhouActivityChampionData(activityId);
    }

    public static boolean addJiuZhouActivityChampionData(JiuZhouActivityChampionData jiuZhouActivityChampionData){
        return DaoHelper.getJiuZhouChampionDataImpl().add(jiuZhouActivityChampionData);
    }

    public static boolean updateJiuZhouActivityChampionData(JiuZhouActivityChampionData jiuZhouActivityChampionData){
        return DaoHelper.getJiuZhouChampionDataImpl().update(jiuZhouActivityChampionData);
    }
}
